home *** CD-ROM | disk | FTP | other *** search
- /*
- * lib.h - vector library definitions
- *
- * Version: 2.2 (11/17/87)
- * Author: Eric Haines, 3D/Eye, Inc.
- */
-
- #define X_AXIS 0
- #define Y_AXIS 1
- #define Z_AXIS 2
-
- /* Output library definitions */
- #define OUTPUT_CURVES 0 /* true curve output */
- #define OUTPUT_PATCHES 1 /* polygonal patches output */
-
- #define OUTPUT_RESOLUTION 4 /* amount of polygonalization */
-
- void lib_zero_matrix(MATRIX mx);
- void lib_create_identity_matrix(MATRIX mx);
- void lib_create_translate_matrix(MATRIX mx, COORD4 *vec);
- void lib_create_scale_matrix(MATRIX mx, COORD4 *vec);
- void lib_create_rotate_matrix(MATRIX mx, int axis, double angle);
- void lib_create_axis_rotate_matrix(MATRIX mx, COORD4 *rvec, double angle);
- void lib_create_canonical_matrix(MATRIX trans, COORD4 *origin, COORD4 *up);
- void lib_transform_coord(COORD4 *vres, COORD4 *vec, MATRIX mx);
- void lib_matrix_multiply(MATRIX mxres, MATRIX mx1, MATRIX mx2);
- void lib_rotate_cube_face(COORD4 *vec, int major_axis, int mod_face);
- double lib_normalize_coord3(COORD4 *cvec);
- double lib_gauss_rand(long iseed);
- void lib_output_viewpoint(COORD4 *from, COORD4 *at, COORD4 *up, double angle,
- double hither, double aspect, int resx, int resy);
- void lib_output_light(COORD4 *center_pt);
- void lib_output_background_color(COORD4 *color);
- void lib_output_bounding_slab(COORD4 *color);
- char *lib_output_color(COORD4 *color, double ka, double kd, double ks,
- double ang, double r, double t, double i_of_r);
- void lib_output_cylcone( COORD4 *base_pt, COORD4 *apex_pt, char *texture_name);
- void lib_output_sphere(COORD4 *center_pt, char *texture_name);
- void lib_output_polygon(int tot_vert, COORD4 *vert, char *texture_name);
- void lib_output_polypatch(int tot_vert, COORD4 *vert, COORD4 *norm,
- char *texture_name);
-